Si acabas de empezar a trabajar con AWS probablemente lo hayas hecho utilizando la consola de administración. Si todavía no empiezas, probablemente esta sea la forma en la que aprendas. Si no sabes qué demonios es Lambda, te aconsejo que vayas primero a revisar bien qué es y cómo funciona y regreses en cuánto termines.
Utilizar la consola de administración es la forma por default de crear cualquier servicio y por ende es la mejor manera de empezar a entender como funcionan los servicios de AWS.
Creando una Lambda con la Consola de administración de AWS (AWS Management Console)
- En el menú principal busca el servicio de Lambda. Tienes varias opciones donde encontrarlo:
2. Una vez en el menú de Lambda asegurate de seleccionar la opción de ‘Funciones’
3. Una vez seleccionada se mostrara una lista con las funciones que tienes creadas. En mi caso no tengo ninguna por lo que no aparece gran cosa. Haz click en la opción de ‘Crear una Función’
4. Para este ejemplo selecciona la opción de ‘Crear desde cero’
5. Configura la información básica de la función Lambda. En este caso estoy creando una función llamada ‘test-lambda’ , utilizando Node.js 14.x y utilizando un rol pre-existente que sirve para dar a la función permisos básicos para poder ejecutarse.
Tu puedes seleccionar el lenguaje que desees de la lista que ofrece AWS y a su vez si no cuentas con un rol pre-existente puedes utilizar la opción de crear uno nuevo.
Una vez configurada selecciona la opción de ‘Crear una Función’
6. Una vez creada la función, AWS muestra la consola para configurar la Lambda que creaste. Así como configurar otras cosas como VPNs, variables de entorno, uso de memoria, etc.
7. En el caso de Node.js, AWS incluye un editor en la misma consola donde puedes ver y editar el código generado. Algunos otros lenguajes como Java, no incluyen esta opción. Por lo que para hacer cualquier cambio tendrás que usar forzosamente la opción de ‘Cargar desde’. Con esta opción puedes seleccionar entre subir un archivo .zip (o .jar en el caso de Java) directamente o subirlo desde Amazon S3, el servicio de almacenamiento de archivos de AWS
8 . Para ejecutar la función selecciona la opción de ‘Test’
9 . Lambda abre una opción para configurar un evento de prueba. Los eventos de prueba son útiles para simular entradas de datos específicas con tus funciones.
En este caso no importa dado que no estamos leyendo datos de entrada, sin embargo Lambda necesita un evento de prueba configurado por default. Dale un nombre y selecciona ‘Crear’
10 . Una vez creado el evento de prueba, vuelve a seleccionar ‘Test’
11 . Lambda te muestra los resultados de la ejecución. Incluye el nombre de la prueba, la respuesta generada por la función y los logs de ejecución, los cuales contienen la información de tiempo de corrida y memoria utilizada. Estos últimos son importantes ya que AWS se basa en ellos para cobrar el uso de la función.
*No te preocupes por temas de pago. Funciones así de simples no generan cargos a tu cuenta
Ok, ya tienes la función y… ¿ahora qué? Bueno es obvio que una función así no te sirve de nada, para que sea útil tienes que conectarla con algun otro servicio. Uno de las formas más populares es con un API.
AWS tiene un servicio para esto también: API Gateway
Y porsupuesto crear la función así para un ejemplo esta bien, pero ¿qué pasa cuando tienes miles de funciones? Tienes que dar mil clicks antes de poder desplegar tu código? No necesariamente, para esos casos existen otras opciones interesantes como CloudFormation o el CDK (Cloud Development Kit)